package tests

import (
	"testing"

	"ginx/internal/global"
	"ginx/internal/global/common"
	_ "ginx/internal/global/configs"
)

// User 定义一个示例模型
type User struct {
	Username string `gorm:"unique;not null" json:"username"` // 单个字段设置唯一约束
	Password string `gorm:"not null" json:"password"`
	Email    string `gorm:"unique;not null" json:"email"` // 单个字段设置唯一约束
	common.MODEL
}

// 根据结构体中自动生成表
func TestGorm(t *testing.T) {
	// 获取数据库连接
	DB := global.DB
	// 自动迁移模式：按照User结构体字段自动创建表
	err := DB.AutoMigrate(&User{})
	if err != nil {
		global.L.Sugar().Fatalf("Failed to migrate database: %v", err)
	} else {
		global.L.Info("结构体迁移成功")
	}

}
